/*
 * TreeWalkers.h
 *
 *  Created on: Apr 27, 2009
 *      Author: wrice
 */

#ifndef TREEWALKERS_H_
#define TREEWALKERS_H_
#include "DOMTraversal.h"
namespace DOMTraversal {

class TreeWalker {
public:
	virtual Node * getRoot() = 0;
	virtual unsigned long getWhatToShow() = 0;
	virtual NodeFilter * getFilter() = 0;
	virtual bool getExpandEntityReferences() = 0;
	virtual Node * getCurrentNode() = 0;
	virtual void setCurrentNode(Node * currentNode) throw(DOMExceptionPtr)= 0;

	virtual Node * parentNode() = 0;
	virtual Node * firstChild() = 0;
	virtual Node * lastChild() = 0;
	virtual Node * previousSibling() = 0;
	virtual Node * nextSibling() = 0;
	virtual Node * previousNode() = 0;
	virtual Node * nextNode() = 0;

public: ~TreeWalker() {}
};

}
#endif /* TREEWALKERS_H_ */
